home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_09_08
/
9n08040b
< prev
next >
Wrap
Text File
|
1991-04-22
|
2KB
|
103 lines
/* Drawbox.c Copyright 1991 Dave Newman.
Permission for any use is granted
as long as this notice is included.
These functions need the bios_disp
function package to work */
#include <bios.h>
#include <box.h>
/* this routine draws a box using the
IBM box characters. The routine is smart
enough to get the corners right using the
single or double line characters.
Type should be 1 or 2 for single or double lines */
void draw_box(
int srow, int scol,int erow,int ecol,int type)
{
/* right vert line */
draw_vline(srow,ecol,erow,type);
/* left vert line */
draw_vline(srow,scol,erow,type);
/* top horiz line */
draw_hline(srow,scol,ecol,type);
/* bottom horiz line */
draw_hline(erow,scol,ecol,type);
/* fix the corners */
bios_move(srow,scol);
if(type == 2)
bios_pchatt(201);
else
bios_pchatt(218);
bios_move(srow,ecol);
if(type == 2)
bios_pchatt(187);
else
bios_pchatt(191);
bios_move(erow,scol);
if(type == 2)
bios_pchatt(200);
else
bios_pchatt(192);
bios_move(erow,ecol);
if(type == 2)
bios_pchatt(188);
else
bios_pchatt(217);
}
void draw_hline(int srow,int scol,int ecol,int type)
{
int x;
bios_move(srow,scol);
if(type == 2)
bios_pchatt(204);
else
bios_pchatt(195);
for(x=scol+1; x < ecol; x++)
{
bios_move(srow,x);
bios_pchatt(205);
}
bios_move(srow,ecol);
if(type == 2)
bios_pchatt(185);
else
bios_pchatt(180);
}
void draw_vline(int srow,int scol,int erow,int type)
{
int x;
bios_move(srow,scol);
if(type == 2)
bios_pchatt(203);
else
bios_pchatt(194);
for(x=srow+1; x< erow; x++)
{
bios_move(x,scol);
bios_pchatt(186);
}
bios_move(erow,scol);
if(type == 2)
bios_pchatt(202);
else
bios_pchatt(193);
}